# ARG指令声明的变量在当前构建阶段完成后失效。且可以在FROM之前
ARG jdk_version=17

FROM openjdk:$jdk_version

#RUN ["adduser", "lishuo"]
#USER lishuo
#RUN ["whoami"]


LABEL version="1.0.0"
LABEL Author="小石头"
# 作者，已被 LABEL 替代
MAINTAINER 小石头
# 使用命令 docker inspect lishuoboy-docker2:latest > docker2.json 查看 LABEL、MAINTAINER信息

# 设置时区（以下4个至少选一个）。参考 https://blog.csdn.net/lishuoboy/article/details/131147829
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  # 软链接指向
#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#ENV TIME_ZONE Asia/Shanghai
#ENV TZ Asia/Shanghai

ENV jar_name=lishuoboy-docker2.jar

# “my_name_new”会被 docker run命令传入的环境变量覆盖为“周八”，“my_name”会被“my_name_new”覆盖为“孙七”
ENV my_name_new=孙七
ENV my_name=${my_name_new:-赵六}

# 此处输出结果 my_name_new、my_name均为“孙七”。在docker run 后，执行env时，my_name_new为“周八”
RUN ["env"]

#工作目录。后续相对目录均相对于此目录，包括java
WORKDIR /data

# 配置数据卷。相比docker run -v，无法配置宿主机路径。默认为/var/lib/docker/volumes/ffd81e5b65bd7dc13c749d8f2ab8c5ffdd1ba70953099c3a613c60d9fbb92532/_data
VOLUME /data/111 /data/222

ADD ./target/$jar_name ./app/$jar_name

CMD java -jar ./app/${jar_name}

EXPOSE 8080

